#include<iostream>
using namespace std;


// 传值是指将实参的值复制一份传递给形参，而引用传参是将实参的地址传递给形参，使得形参成为实参的别名。

void passByValue(int x) {
    x = x + 10; // 修改的是形参的副本
}



// 传引用是指将实参的地址传递给形参，使得形参成为实参的别名。

void passByReference(int& x) {
    x = x + 10; // 修改的是实参本身
}   




int main() {
    cout << "C++17 Basic Compilation Test" << endl;


    int a = 5;
    cout << "Before passByValue, a = " << a << endl;
    
    passByValue(a);

    cout << "After passByValue, a = " << a << endl; // a 仍然是 5

    int b = 5;
    cout << "Before passByReference, b = " << b << endl;

    passByReference(b);
    cout << "After passByReference, b = " << b << endl; // b 变成了 15

    
    return 0; 
}